from fastapi import FastAPI, HTTPException
from pydantic import BaseModel

app = FastAPI()

# Пример базы данных пользователей (может быть заменено на базу данных настоящего приложения)
users_db = {}

# Модель данных для создания нового пользователя
class UserCreate(BaseModel):
    username: str
    email: str
    password: str

# Эндпоинт для регистрации нового пользователя
@app.post("/register")
async def register_user(user_data: UserCreate):
    if user_data.username in users_db:
        raise HTTPException(status_code=400, detail="Пользователь с таким именем пользователя уже существует")

    # Здесь можно добавить логику проверки и хеширования пароля перед сохранением в базу данных

    users_db[user_data.username] = user_data

    return {"message": "Пользователь успешно зарегистрирован", "user_data": user_data}

# Откройте http://127.0.0.1:8000/docs в браузере, чтобы увидеть документацию и использовать интерактивный интерфейс Swagger